package com.shao;

import lombok.extern.slf4j.Slf4j;

/**
 * @author PaoFu
 * @version 1.0
 * @data 2025/4/3 15:07
 */
@Slf4j
public class ConsumerApplication {

    public static void main(String[] args) {
        ReferenceConfig<HelloSrpc> reference = new ReferenceConfig<>();
        reference.setInterface(HelloSrpc.class);


        // 1、连接注册中心
        // 2、拉取服务列表
        // 3、选择服务进行连接
        // 4、携带关键信息发送请求
        SrpcBootstrap.getInstance()
                .application("first-srpc-consumer")
                .registry()
                // 配置压缩类型
                .serialize("hessian")
                .reference(reference);

        // 获取一个代理对象
//        HelloSrpc helloSrpc = reference.get();
//        for (int i = 0; i < 10; i++) {
//            String sayHello = helloSrpc.sayHello("你好srpc");
//            log.info("sayHello---->{}", sayHello);
//        }
        while (true) {
            // 获取一个代理对象
            HelloSrpc hi = reference.get();
            for (int i = 0; i < 10; i++) {
                String sayHello = hi.sayHello("你好srpc");
                log.info("sayHello---->{}", sayHello);
            }
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
